package code11_io.File;

import java.io.File;

/**
 * @author 黄衡熙
 * @version 1.0
 */
public class Test05_递归操作 {

    public static void main(String[] args) {
        File file = new File("E:\\test");
        try {
            display(file);
        } catch (FileNotExistException e) {
            System.out.println(e.getMessage());
        }
    }


    public static void display(File file) throws FileNotExistException {
        if (!file.exists()) {
            throw new FileNotExistException("该目录不存在");
        }

        // 判断当前文件是否是一个目录
        if (file.isDirectory()) {
            // 展示出该目录中所有子文件
            File[] files = file.listFiles();
            for (File f : files) {
                if (f.isFile()) {
                    System.out.println(f.getAbsolutePath());
                } else {
                    display(f);
                }
            }
        } else {
            // 如果是文件,则直接打印文件的绝对地址
            System.out.println(file.getAbsolutePath());
        }
    }

}